#include <iostream>

class MyType {
private:
    int value;

public:
    MyType(int val) : value(val) {}

    //为了使 << 和 >> 运算符能够访问类的私有成员，声明为友元函数。
    // 重载 << 运算符用于输出
    friend std::ostream& operator<<(std::ostream& os, const MyType& obj) {
        os << "Value: " << obj.value;
        return os;
    }

    // 重载 >> 运算符用于输入
    friend std::istream& operator>>(std::istream& is, MyType& obj) {
        is >> obj.value;
        return is;
    }
};

int main() {
    MyType obj(42);

    // 输出对象
    std::cout << obj << std::endl;

    // 输入新的值到对象中
    std::cin >> obj;

    // 再次输出对象
    std::cout << obj << std::endl;

    return 0;
}
